package com.demo.java.OD351_400.OD355;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.StringTokenizer;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【We Are A Team(B卷)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146164905
 */
public class OdMain {
    public static void main(String[] args) throws IOException {
        // 使用BufferedReader读取输入，StringTokenizer 用于分割输入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        // 读取输入的n和m，n是人类数量，m是关系对的数量
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        // relationshipSets 用于存储每个互相关联的人群组
        List<Set<Integer>> relationshipSets = new ArrayList<>();

        // verifyRelationships 用于存储需要验证的关系对
        List<int[]> verifyRelationships = new ArrayList<>();

        // 处理每一对关系
        for (int i = 0; i < m; i++) {
            // 读取每一对关系的输入
            String[] relationship = br.readLine().trim().split(" ");
            int x = Integer.parseInt(relationship[0]);  // 人x
            int y = Integer.parseInt(relationship[1]);  // 人y
            int relation = Integer.parseInt(relationship[2]);  // 关系类型（0为关联，1为验证）

            // 如果是关系验证（relation == 1），则将其存储在 verifyRelationships 列表中
            if (relation != 0) {
                verifyRelationships.add(new int[]{x, y, relation});
            } else {
                // 如果是关联关系（relation == 0），则尝试将x和y加入现有的某个人群组
                boolean setAdded = false;  // 标记是否成功将x和y加入现有的某个关系组
                for (int j = 0; j < relationshipSets.size(); j++) {
                    Set<Integer> set = relationshipSets.get(j);
                    // 如果当前组中已经有x或y，则将x和y都添加到该组中
                    if (set.contains(x) || set.contains(y)) {
                        set.add(x);
                        set.add(y);
                        setAdded = true;  // 设置已添加标志
                        break;  // 一旦找到并添加，跳出循环
                    }
                }
                // 如果没有成功将x和y加入任何已有的组，则新建一个组，并将x和y加入
                if (!setAdded) {
                    Set<Integer> newSet = new HashSet<>();
                    newSet.add(x);
                    newSet.add(y);
                    relationshipSets.add(newSet);  // 将新组添加到 relationshipSets 中
                }
            }
        }

        // 对所有需要验证的关系进行检查
        for (int i = 0; i < verifyRelationships.size(); i++) {
            int[] relationship = verifyRelationships.get(i);
            int x = relationship[0];  // 人x
            int y = relationship[1];  // 人y
            int relation = relationship[2];  // 关系类型（如果是1，表示验证是否属于同一组）

            // 如果是验证关系，且关系为1（表示需要验证是否是同一组）
            if (relation != 1) {
                System.out.println("xiang pi ca");  // 如果是其他关系类型，输出“xiang pi ca”
                continue;
            }

            boolean isTeam = false;  // 标记x和y是否属于同一团队
            // 遍历所有的关系组，检查x和y是否都在同一个组内
            for (int j = 0; j < relationshipSets.size(); j++) {
                Set<Integer> set = relationshipSets.get(j);
                // 如果x和y都在某个组内，则表示他们是一个团队
                if (set.contains(x) && set.contains(y)) {
                    System.out.println("we are a team");  // 输出“我们是一队”
                    isTeam = true;  // 设置为团队
                    break;  // 一旦找到了，跳出循环
                }
            }
            // 如果x和y不在任何一个组内，则表示他们不是一个团队
            if (!isTeam) {
                System.out.println("we are not a team");  // 输出“我们不是一队”
            }
        }
    }
}
